package map;

import java.util.*;

/**
 * Map的遍历
 * JDK8之后,集合和Map都支持了基于Lambda表达式的形式遍历
 * 数组不能直接在forEach使用lambda表达式,如果要用可以先将数组转换为集合
 */
public class MapDemo3 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap();
        //给map存入值
        map.put("语文", 99);
        map.put("数学", 98);
        map.put("英语", 97);
        map.put("物理", 96);
        map.put("化学", 99);
        System.out.println(map);
        map.forEach(
                //k和v名字无所谓,只要顺序一致,第一个一定是key,第二个一定是value
                (k,v)-> System.out.println(k+":"+v)
        );
        ArrayList<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        c.forEach(
                (e)-> System.out.println(e)
        );
        //假如参数只有一个,括号可以省略
        c.forEach(
                e -> System.out.println(e)
        );
        //如果输出的参数和传的参数都是一个,参数也可以省略,并且替换为::
        c.forEach(
                System.out::println
        );
    }
}
